package com.xbongbong.pro.statistic.pojo.vo;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.xbongbong.paas.toolbox.wrap.BaseVO;
import com.xbongbong.pro.domain.entity.ChartEntity;
import com.xbongbong.pro.domain.entity.ext.ChartEntityEtx;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.util.ArrayList;
import java.util.List;

/**
 * 图表中心左侧菜单展示接口VO
 *
 * @author zcp
 * @date 2019/1/9
 * @since v1.0
 * @version v1.0
 */
@Setter
@Getter
@ToString
public class ChartCategoryListVO extends BaseVO {

    private static final long serialVersionUID = -4764546877287428196L;
    /**
     * 报表分类id
     */
    private Long id;
    /**
     * 父分类ID，顶级分类父分类为0
     */
    private Long parentId;
    /**
     * 1app首页特殊类，2首页右侧动态看板分类，3首页左侧分类，4图表中心系统分类，5图表中心新建的分类
     */
    private Integer type;
    /**
     * 报表分类名称
     */
    private String name;
    /**
     * 报表分类名称
     */
    private String nameEn;
    /**
     * 1开启0关闭
     */
    private Integer enable;
    /**
     * 子分类
     */
    private List<ChartCategoryListVO> childList;

    /**
     * 全局权限信息
     */
    private JSONObject chartPermissions;

    /**
     * 权限信息
     */
    private JSONObject permissions;

    private List<ChartEntityEtx> chartResults;

    /**
     * 仪表盘公共查询条件
     */
    private JSONArray search;

    private Integer publish;

    public ChartCategoryListVO() {
        //默认空的list
        childList = new ArrayList<>();
    }

    /**
     * 是否能使用国际化语言切换
     */
    private Boolean multiLang;

    /**
     * 是否还存在需要升级的二级分类  1-存在 0-不存在
     */
    private Integer upgradeFlag;

    /**
     * 是否展示升级仪表盘提示标志 1-展示 0-不展示
     */
    private Integer displayTipsFlag;

    private String url;

    private String alias;
}
